Java正则表达式模式在Linux下不起作用(Amazon Beanstalk)
我有一个java正则表达式模式,它在Mac OSX中的Tomcat7下工作得非常好,但是在Amazon Linux(在Amazon Elastic Beanstalk上使用)下,它永远都不匹配
以下是模式:
(\d\.)(([^\d\s])([a-z/\s]*))
下面是一些文本示例:
1.AAAA/BBBBBB
以下是java代码:
Pattern pattern = Pattern.compile(PATTERN, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
//....
}
我不明白在这个问题上有什么平台差异。有人吗
已编辑
更多信息:相同。war文件,在我的Windows下,Mac OS平台工作得很好,但在亚马逊Beanstalk和Ubuntu Linux中没有。 我认为@study是对的,可能是因为OpenJDK,但我现在在windows下,现在无法测试它
下面是测试它的代码: https://gist.github.com/edpichler/6766187
# 1 楼答案
我不认为Tomcat版本会导致不同的结果,所以唯一的区别是JRE版本
在elastic beanstalk tomcat 7 x64中,您使用的是OpenJDK 1.6.0_24
在OSX10.8.5(OSX2013-004和10.6更新版)中,您使用的是Oracle JDK 1.6.051